草庐IT

java - long 1l,float 1f,double 1d,byte呢?

全部标签

c++ - 为什么 printf 为非零 double 输出零?

我有一段代码:在WindowsMSVC2012下#include#includenamespacemyname{doublevar=42;}extern"C"double_ZN6myname3varE=10.0;intmain(){printf("%d\n",_ZN6myname3varE);return0;}输出为0。但我认为输出应该是10。你能帮忙解释一下为什么吗? 最佳答案 回答“但我想知道为什么输出0?这是怎么发生的?”。double是64位,int是32位。当double被截断为int时(因为使用了%d),只有前4字节存储

c++ - long double 的 printf,未知转换类型字符 L

我的程序很简单:#include#includeusingnamespacestd;intmain(){longdoublea=4.5;printf("%Lg",a);return0;}编译时,有一个警告:warning:unknownconversiontypecharacter'L'informat[-Wformat=]|控制台的输出是-1.28823e-231关于打印长double的文档非常清楚,它只是说明这种格式的正确参数是L。我做错了什么?我在Windows10下使用代码块、mingw32-g++编译器。P.S.:cout产生相同的输出。 最佳答案

c - 如果变体具有 INF 或 NAN 值,如何使变体的 ChangeType float ?

我在变体中有浮点值,最初这个变体是一个bstr类型。我正在使用VariantChangeType更改为浮点类型。然后我从中获取浮点值,然后我将其转换为字节vector格式。如果变体具有浮点值,则可以正常工作。如果变体具有INF值,则VariantChangeType会失败。所以我从variant.fltVal中得到0。如果变体具有INF或NAN值,如何将类型更改为float?我想以浮点形式获取INF或NAN值。Convert(_variant_tvarVal,vectordataArr){HRESULThr=VariantChangeType(varVal&,&varVal,0,VT_

python - 为什么 Windows 会报告将随机行数写入具有与 osx 不同的 float-rounding 的文件所花费的时间?

我有一个python脚本,它正在将dict的对象写入文件。在Windows10上使用2.7,写入持续时间被报告为毫秒数,后跟.0000nnn或.9999nnnn。我正在像这样使用python的时间库:importtimelogline=""defwriter(mydict):records=0globalloglinelstart_time=time.time()foriteminmydict:some_open_file.write(item)dur=time.time()-lstart_timelogline+=("\t{0:25}transformed{2}recordsin{1

python - 属性错误 : module 'tensorflow' has no attribute 'float32'

在为tensorflow模型设置环境时,当我在最后一步运行pythonmodel_builder_test.py时,导致AttributeError:module'tensorflow'hasnoattribute'float32',有人知道如何解决吗?谢谢。https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.mdPSC:\Users\User\models\research\object_detection\builders>pythonmodel_

java - 将 Double 从 Delphi/Pascal 转换为 Java

我需要使用Delphi/Pascal语言读取在WindowsSO中创建的二进制文件。我知道这个文件是固定长度的,前8个字节是双字节。我将此文件从WindowsSO复制到UbuntuSO。当我尝试使用Java语言在UbuntoSO内部读取此文件时,我看到:双=84000[0,0,0,0,0,-126,-12,64]所以我在Java中创建相同的double(84000),运行UbuntuSO:DoubleyourDouble=(double)84000;byte[]bytes=newbyte[8];java.nio.ByteBuffer.wrap(bytes).putDouble(your

windows - dos 批处理 : convert time to frames (floating-point arithmetic)

在变量%waveDuration%中,我在这个符号中有持续时间0:00:35.368667(0小时、0分钟、35秒+各种毫秒)我想将它转换为帧数@25fpsPAL因此35.36X25=884,21-->四舍五入=884(结果放入新变量%framecount%)我已经尝试了2种类型的批处理计算器,但我在无法解决的问题上出错了。请问我该怎么办?谢谢for/f"tokens=1-4delims=:,"%%ain("%waveduration%")doset/a"framecount"=((%%a00)*3600+(%%b00)*60+(%%c00)+(%%d0)/10)*25/100并将值放

c++ - 将 int 类型转换为 double C++

我是编程新手,这可能是一个显而易见的问题,尽管我终生无法弄清楚为什么我的程序没有以double形式返回。我想编写一个股票程序,接收股票、价格的全部美元部分和小数部分。小数部分将作为两个int值输入,并包含一个具有3个int值的函数定义。该函数以double形式返回价格。#includeusingnamespacestd;intprice(int,int,int);intmain(){intdollars,numerator,denominator,price1,shares;charans;do{cout>dollars>>numerator>>denominator;cout>sha

c++ - double 商?

我在前几天的测验中遇到了以下问题。Considerthecodefragment(assumedtobeinaprograminwhichallvariablesarelegallydefined):intnum1,num2;doubleanswer;//programgetsnum1andnum2fromuser,andvaluesreceived//arealwaysnon-zerointsbetween-100and+100(codenotshown)...//computeprecisequotient:answer=(double)(num1/num2);Aftertheas

c++ - float 大小是否取决于操作系统?

很抱歉,我无法使用Google找到此问题的答案。我不会说英语,也许我没有使用正确的词进行搜索。我记得数据类型的大小取决于架构词的大小(或者我错了)。但是,我不确定大小是否也取决于操作系统。现在我正在使用Windows732位,我不确定当我使用Windows764位时float是否会改变其大小。我使用VisualStudio2012编译我的解决方案,使用Win32项目。如果我将Windows版本从32位更改为64位,大小会发生变化吗?我不是在问float和double之间的区别。我想问的是,如果我将操作系统从Windows732位更改为Windows764位(反之亦然),float在同一